package com.chx.service;

import com.chx.dto.PurchaseOrderDto;
import com.chx.dto.PurchaseOrderPageQueryDto;
import com.chx.dto.StockInOrderDto;
import com.chx.result.PageResult;
import com.chx.vo.PurchaseOrderVo;

/**
 * @Author cp-月入过万
 * @Date 2025/5/30
 */
public interface PurchaseOrderService {
    /**
     * 新增采购订单
     * @param purchaseOrderDto
     */
    void save(PurchaseOrderDto purchaseOrderDto);

    /**
     * 修改采购订单
     * @param purchaseOrderDto
     */
    void update(PurchaseOrderDto purchaseOrderDto);

    /**
     * 取消采购订单
     * @param id
     */
    void cancel(Long id);

    /**
     * 根据id查询采购订单
     * @param id
     * @return
     */
    PurchaseOrderVo getById(Long id);

    /**
     * 分页查询采购订单
     * @param purchaseOrderPageQueryDto
     * @return
     */
    PageResult page(PurchaseOrderPageQueryDto purchaseOrderPageQueryDto);

    /**
     * 审核订单
     * @param id
     */
    void updateStatus(Long id);

    /**
     * 提交采购订单
     */
    void commit(StockInOrderDto stockInOrderDto);

}
